/**
 * 说明:
 * - 当通过`console.log(isEmpty());`这种方式调用函数时, typeof value === "undefined"为真; 但是不能直接通过`console.log(isEmpty(sss));`
 * 这种方式传入一个undefined的变量, 会直接报错.
 * @param value
 * @returns {boolean}
 */
function isEmpty(value) {
    return typeof value === "undefined" || value === null || value === "";
}

// console.log(isEmpty());
// console.log(isEmpty(sss));

/**
 * 说明:
 * - 函数内部的undefined参数并不会抛出异常.
 * @param value
 * @returns {number}
 */
function compare(value) {
    console.log(value);
    if (value === "source") {
        return 1;
    }
    return 2;
}

console.log(compare());